﻿// Copyright: personal possession of Nguyen Minh Kha
// Datetime: 09:27PM 10/14/2011
// Discription: This class is a common interface for 
//  all eventable objects in game.
// Licencse: Free source
// Version: 1.0
// Writer: Nguyen Minh Kha

/* Google opensource coding standard with variable name exception */

#ifndef GAMEFRAMEWORK_EVENTABLEOBJECT_H_
#define GAMEFRAMEWORK_EVENTABLEOBJECT_H_

class EventableObject {
public:
  //
  //  Call object event
  //  LPWSTR* eventParam: event paramerter that object need know to respond
  virtual void DoEvent(LPWSTR* eventParam) = 0;
  // Doing event thread
  virtual void DoEventThread() = 0;
  // Get object id from eventable object
  int getObjectId() {return this->objectId;}
protected:
  int objectId;

};

#endif //GAMEFRAMEWORK_EVENTABLEOBJECT_H_